package net.towee.model.repo;

import com.google.gwt.user.client.rpc.IsSerializable;

/**
 * Identity information about attachment
 * @author c58
 */
public interface AttachmentIdentity extends IsSerializable  {
	/**
	 * @return id of this attachment
	 */
	String getId();
	
	/**
	 * @return name of this attachment
	 */
	String getName();
	
	/**
	 * @return number of downloads
	 */
	long getDownloads();
	
	/**
	 * @return size of this attachment in bytes
	 */
	long getSize();
	
	/**
	 * @return type of attachment
	 */
	AttachmentType getType();
	
	/**
	 * @return AttachmentPictureIdentity
	 */
	AttachmentPictureIdentity toPicture();
	
	/**
	 * @return AttachmentTorrentIdentity
	 */
	AttachmentTorrentIdentity toTorrent();
}
